"""
装饰器的写法
"""

#装饰器的闭包写法
# def outer(func):
#     def inner():
#         print("我睡觉了")
#         func()
#         print("我起床了")
#     return inner
# def sleep():
#     import random
#     import time
#     print("睡眠中....")
#     time.sleep(random.randint(1,5))
#
# fn1 = outer(sleep)
# fn1()
#装饰器的快捷写法(语法糖)
def outer(func):
    def inner():
        print("我睡觉了")
        func()
        print("我起床了")
    return inner

@outer
def sleep():
    import random
    import time
    print("睡眠中....")
    time.sleep(random.randint(1,5))

sleep()

"""
装饰器:
创建一个闭包函数,在闭包函数内部调用目标函数
创建一个闭包函数,在原有函数不改动的同时,添加新的功能

写法:
    构建闭包函数
    @闭包函数 语法糖


"""




